﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using BL;
using System.Data;

namespace UI.DireccionAcademica
{
    public partial class frmFichaAcademica : System.Web.UI.Page
    {

        private Reporte rptreporte = new Reporte(); 
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {

                lblMensaje.Text = "";
            }

        }

        protected void grvAlumnos_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            
           GridView gv = (GridView)sender;
           gv.PageIndex = e.NewPageIndex;
           llenarGrilla();
        

        }

        protected void grvAlumnos_SelectedIndexChanged(object sender, EventArgs e)
        {

            try
            {
                string codigo = grvAlumnos.SelectedRow.Cells[0].Text.Trim();
                string especialidad = grvAlumnos.SelectedRow.Cells[4].Text.Trim();


                Academico_BL obj = new Academico_BL();
                DataTable Nota = new DataTable();
                DataTable Promedios = new DataTable();

                Nota = obj.ObtenerFichaRendimientoAlumnoEspecialidad(codigo,especialidad);
                Promedios = obj.ObtenerPromediosAlumnoEspecialidad(codigo, especialidad);


                /*se exporta a excel*/
                DataSet dsFicha_Rendimiento = new DataSet();

                Nota.TableName = "NOTAS";
                Promedios.TableName = "PROMEDIOS";

                dsFicha_Rendimiento.Tables.Add(Nota);
                dsFicha_Rendimiento.Tables.Add(Promedios);
                rptreporte.ResourceName = "rptFichaRendimiento.rpt";
                rptreporte.SetDataSource(dsFicha_Rendimiento);
                rptreporte.ExportToHttpResponse(CrystalDecisions.Shared.ExportFormatType.PortableDocFormat, Response, true, "Ficha de Rendimiento");
                rptreporte.Close();
            }
            catch (Exception EX)
            {

                lblMensaje.Text = "Ocurrio un error al consultar: " + EX.ToString();
            }
        }

        protected void btnBuscar_Click(object sender, EventArgs e)
        {
            lblMensaje.Text = "";
            try
            {
                llenarGrilla();
            }
            catch ( Exception ex)
            {

                lblMensaje.Text = "Ocurrio un error al consultar :" + ex.Message;
            }

           
        }

        void llenarGrilla()
        {

            string codigo = "";
            string DNI = "";

            if (txtDni.Text.Trim().Length == 0)
            {
                DNI = "TODOS";
                codigo = "";

            }

            else
            {
                DNI = txtDni.Text.Trim();
            }

            if (txtNombre.Text.Trim().Length == 0)
            {

                codigo = "TODOS";
            }
            else
            {
                codigo = txtNombre.Text.Trim();

            }






            Alumno_BL OBJ = new Alumno_BL();
            DataTable dato = new DataTable();

            dato = OBJ.ObtenerListaAlumnosEspecialidad(DNI, codigo);
            grvAlumnos.DataSource = dato;
            grvAlumnos.DataBind();

            CuentaItemsGrilla(dato);


        }

        public void CuentaItemsGrilla(DataTable dato)
        {
            if (dato.Rows.Count == 0)
            {
                grvAlumnos.Caption = "No se encontró coincidencias";
            }
            else if (dato.Rows.Count == 1)
            {
                grvAlumnos.Caption = "Total de items - 1 registro encontrado";
            }
            else
            {
                grvAlumnos.Caption = "Total de items - " + dato.Rows.Count + " registros encontrados";
            }
        }

        protected void btnModal_Click(object sender, ImageClickEventArgs e)
        {
            lblMensajeModal.Text = "";
            DataTable dato = new DataTable();
            grvAgregaAlumnos.DataSource = dato;
            grvAgregaAlumnos.DataBind();
            lblMensajeModal.Text = "";
            mpeAgregaAlumno.Show();
        }

        protected void grvAgregaAlumnos_SelectedIndexChanged(object sender, EventArgs e)
        {
            string codigo = "";

            codigo = grvAgregaAlumnos.SelectedRow.Cells[1].Text;
            txtNombre.Text = codigo;
            llenarGrilla();
           // UpdatePanel2.Update();
            mpeAgregaAlumno.Hide();
        }

        protected void btnBuscarModal_Click(object sender, EventArgs e)
        {

            Alumno_BL OBJ = new Alumno_BL();
            DataTable dato = new DataTable();
            string codigo = "";
            if (txtModalCodigo.Text.Trim().Length == 0)
            {

                codigo = "TODOS";
            }
            else
            {
                codigo = txtModalCodigo.Text.Trim();

            }


            dato = OBJ.ObtenerListaAlumnosEspecialidad("TODOS", codigo);

            if (dato.Rows.Count == 0)
            {

                lblMensajeModal.Text = "Alumno no existe.";

            }

            else
            {
                grvAgregaAlumnos.DataSource = dato;
                grvAgregaAlumnos.DataBind();
            }
        }

        protected void btnSalir_Click(object sender, EventArgs e)
        {
            mpeAgregaAlumno.Hide();
        }

    }
}